Lua表(table)的用法

您所在的位置:网站首页 lua table库 Lua表(table)的用法

Lua表(table)的用法

2024-04-20 14:24| 来源: 网络整理| 查看: 265

Lua表(table)的用法_个人总结 1.表的创建及表的介绍

--table 是lua的一种数据结构用来帮助我们创建不同的数据类型。如:数组和字典--lua table 使用关联型数组,你可以用任意类型的值来做数组的索引,但这个值不能是nil--lua table 是不固定大小的,你可以根据自己需要进行扩容 array = {} --这是一个空表,初始化表 --如果想从表中删除元素,只需要把想要删除的元素的值赋值为nil,即可 --eg:array["name"] = nil 

--如何将函数作为 表 的元素添加进去

1 mm = {} 2 mm.myfc = function () 3 print("数学不好学呀!") 4 end 5 print(mm.myfc())

-- 表其实是哈希表和数组的结合体

-- 数组的下表对应 lua表中的键 数组元素的值对应 是lua表中的值-- 如何定义数组型的表

1 array = {值1,值2,值3,} --这种比较好用 2 array = {[1] = 值1,[2] = 值2,} --容易出错 ,建议最好不要用

-- # 号,作用为获取字符串的长度 。-- 在lua中,注意是用在数组中 ,#号为获取数组中元素的个数

1 array = {'x','y','z'} 2 print(#array ) --获取array 数组的长度 3 4 -- #号 取得array数组的值 作为for循环的终止值 5 for i = 1,#array ,1 do 6 print(array[i]) 7 end 2.table.insert()函数

-- 其用法如下 table.insert(数组,键,值)-- 下面添加 键为2的值,如果原来数组中有键为2的值依次向后从新排列。-- 如果我们省略了键,只填入数组名 和 值,就会默认把新添加的值放入数组的最后一位。

1 table.insert(array,2,"aa") 3. table.remove()函数

-- 从数组中删除元素 table.remove(数组名,键)--table.remove(数组名) 默认删除最后一个元素

1 bm = {"aa","bb","cc"} 2 table.remove(bm,3) 3 print(#bm) -- 2 4.table.sort()函数

-- table.sort(数组,排序规则) 强大的排序函数

1 am = {"b","a","f","c"} 2 arra = function() 3 for i =1,#am do 4 print(i..","..am[i]) 5 end 6 end 7 table.sort(am) 8 arra() 5.创建自己函数的表来作为自己的函数库 1 myfunc = {} --创建一个空表 2 myfunc.func = function() 3 print("数学学起来很难") 4 end 5 myfunc.func2 = function() 6 print("语文学起来很容易") 7 end 8 myfunc.func() 9 myfunc.func2() 6.表库

--table.concat(表,分隔符,开始下标,结束下标)--作用:返回参数中表内从开始下标到结束下标中所有数组部分,并用分隔符分开。后三个参数为可选参数

1 a = {55,66,88} 2 print(table.concat(a,",",2,3))

--table.insert(表,键,值) 作用:在指定表中插入一个指定的键和值。参数键可以省略,省略默认放入最后一个位置

--table.maxn(表) 作用:返回指定表中多有正数键值中最大键。如果不存在键为正数的键,则返回0--table.remove(表,键) 作用:删除 并返回 表的数组部分指定键的元素,其后的元素会被前移。如果省略键参数,则从最后一个元素删起--table.sort(表,comp) 作用:对给定的表进行升序排序 --comp是一个可选的参数, 此参数是一个外部函数, 可以用来自定义sort函数的排序标准.--此函数应满足以下条件: 接受两个参数(依次为a, b), 并返回一个布尔型的值, 当a应该排在b前面时, 返回true, 反之返回false.MemberFunc1--table.foreachi(表,function(i,v)) 作用:会期望一个从1(数字1)开始的连续 整数 范围,遍历表中的键和值逐对进行function(i,v)操作--table.foreach(表,function(i,v)) 作用:foreach 会对整个表进行遍历--table.getn(表) 作用:返回表中元素的个数 --table.setn(表,个数) 作用:设置表中元素的个数

1 --按升序进行排列 2 tab1= {"b", "a", "g", "c"} 3 table.sort(tab1) 4 print (table.concat(tab1,",")) 5 --按降序进行排列 6 tab1= {"b", "a", "g", "c"} 7 sortFunc = function(a,b) return barr[j+1] then --从小到大排列 arr[j]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3